
$(document).ready(function() {
	
    validateForm($("#registerUser"));
    $("#registerUser").removeAttr("novalidate");
    addCustomRule();
    initRules();
    
    $("#btn_register").on('click',function(){
    	if($("#registerUser").valid()){
    			name = $("#data_username").val();
    			email = $("#data_email").val();
    			var data = {"data[email]":email, "data[username]":name};
    			if(submitFormData(data)){
    				$("#registerUser").submit();
    				return true;
    			}
            }
            return false;
    });
    //captcha
    $('#reload').click(function() {
		var captcha = $("#captcha_image");
		captcha.attr('src', captcha.attr('src')+'?'+Math.random());
		return false;
  	});
});
/**
 *validate 
 */
function validateForm($form){
	$form.validate({
		ignore: "",
		onsubmit: false,
        onfocusout : function( element, event ) {
		    if ($(element).valid()){
        		$(element).closest('div.stalls_row').find('.category_group_warntip').removeClass("show");
		    	$(element).closest('div.stalls_row').find('.category_group_warntip').addClass("hide");
		    }
		},
        onkeyup: function( element, event ) {
		    $(element).valid();
		},
		
        errorPlacement: function (error, element) {
            $(element).closest('div.stalls_row').find('.category_group_warntip').removeClass("hide");
            $(element).closest('div.stalls_row').find('.category_group_warntip').addClass("show");
            $(element).closest('div.stalls_row').find(".warntip_content span").html(error.html());
        },
        invalidHandler: function(form, validator) {
            if (!validator.numberOfInvalids()){
                return;
            }
            scrollToTopElement($(validator.errorList[0].element));
        }
    });
    
}
function initRules(){
	$("#data_captcha").rules("add", {
            required : true,
            validateCaptcha: true,
            messages: {
			    required: "Vui lòng nhập mã xác nhận",
			    validateCaptcha: "Mã xác nhận không đúng",
			}
      });
	$('#data_username').rules("add", {
            required : true,
            minlength: 2,
            messages: {
			    required: "Vui lòng nhập tên",
			    minlength: "Nhập ít nhất 2 ký tự"
			}
      });
    $('#data_password').rules("add", {
            required : true,
            minlength: 6,
            messages: {
			    required: "Vui lòng nhập mật khẩu",
			    minlength: "Nhập ít nhất 6 ký tự"
			}
     });
    $('#data_repassword').rules("add", {
            required : true,
            minlength: 6,
            confirmPass: true,
            messages: {
			    required: "Vui lòng nhập mật khẩu",
			    minlength: "Nhập ít nhất 6 ký tự",
			    confirmPass: "Nhập không giống mật khẩu ở trên"
			}
    });
    
    $('#data_email').rules("add", {
            required : true,
            email: true,
            messages: {
			    required: "Vui lòng nhập email",
			    email: "Email không hợp lệ"
			}
     });
}
function scrollToTopElement($element){
    $('html, body').animate({
        scrollTop: $element.offset().top
    }, 100);
}
/**
 * add rule
 */
 function addCustomRule(){
    $.validator.addMethod('confirmPass', function (value, element, arg) {
    	pass1 = $("#data_password").val();
    	return pass1 == value;
    },'Nhập lại mật khẩu');
    
      $.validator.addMethod('validateCaptcha', function (value, element, arg) {
    	return checkCaptcha(value);
    },'Mã xác nhận ko đúng');
    
 }
 function submitFormData(dataForm){
 	var flg = true;
	$.ajax({
        url : "/RegisterUser/checkUserNameAndEmail",
        type : "POST",
        data : dataForm,
        async: false,
        dataType : "json",
        beforeSend: function(){
			//console.log("beforeSend");
		},
		success: function(data1){
			if(data1.err.val == 0){
				flg = true;
			}else
			if(data1.err.val == 1){
				if(data1.name != undefined){
					$("#data_username").closest(".stalls_element").find(".warntip_content span").html("Tên đăng nhập đã tồn tại");
					$("#data_username").closest(".stalls_element").find(".category_group_warntip").removeClass("hide");
					$("#data_username").closest(".stalls_element").find(".category_group_warntip").addClass("show");
					
				}
				if(data1.email != undefined){
					$("#data_email").closest(".stalls_element").find(".warntip_content span").html("Email đã tồn tại");
					$("#data_email").closest(".stalls_element").find(".category_group_warntip").removeClass("hide");
					$("#data_email").closest(".stalls_element").find(".category_group_warntip").addClass("show");
				}
				flg = false;
			}else
			if(data1.err.val == 2){
				flg = false;
			}
		},
		error: function(error){
			flg = false;
		}
    });
    return flg;
}
function checkCaptcha(dataForm){
 	var flg = true;
	$.ajax({
        url : "/Captcha/checkCaptcha",
        type : "POST",
        data : {"data[captcha]" : dataForm},
        async: false,
        dataType : "json",
        beforeSend: function(){
			//console.log("beforeSend");
		},
		success: function(data1){
			if(data1.err == 2){
				console.log("ko dc");
				flg = false;
			}
		},
		error: function(error){
			flg = false;
		}
    });
    return flg;
}
